﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MyRecipeBook.Classes
{
    public class Status
    {
        public StatusResult Result { get; set; }
        public StatusCode Code { get; set; }
    }

    public enum StatusResult
    {
        Success = 0, //Generic Success
        Failed = 1, //Generic Failure
        Warning = 2, //Generic Warning
        Error = 3, //Generic Error
        Exception = 4, //Generic Exception
    }

    public enum StatusCode
    {
        #region Misc

        Unknown = 1,
        NotImplemented = 2,

        #endregion

        #region Ingredients

        IngredientAdded = 1000,
        IngredientUpdated = 1001,
        IngredientRemoved = 1002,
        IngredientAlreadyExists = 1003,
        IngredientNotFound = 1004,
        IngredientFound = 1005,

        #endregion

        #region Recipes



        #endregion

        #region Menus



        #endregion

        #region Conversions

        ConversionAdded = 11000,
        ConversionUpdated = 11001,
        ConversionRemoved = 11002,
        ConversionAlreadyExists = 11003,
        ConversionTypesAreSame = 11004,
        ConversionTypesAreNotCompatible = 11005,
        ConversionReverseNotSame = 11006,
        ConversionFromTypeIsInvalid = 11007,
        ConversionToTypeIsInvalid = 11008,
        ConversionFromAmountIsLessThanOrZero = 11009,
        ConversionToAmountIsLessThanOrZero = 11010,
        ConversionNotFound = 11011,
        ConversionNotAdded = 11012,
        ConversionFound = 11013,

        #endregion

        #region Measurements

        MeasurementAdded = 12000,
        MeasurementUpdated = 12001,
        MeasurementRemoved = 12002,
        MeasurementAlreadyExists = 12003,
        MeasurementFound = 12004,
        MeasurementNotFound = 12005,
        MeasurementTypeFound = 12006,
        MeasurementTypeUnknown = 12007,
        MeasurementUnknown = 12008

        #endregion
    }
}
